package com.starsoft.quant.bean;

import java.sql.Timestamp;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * QuantAcount entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "quant_acount")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "ormCache")
public class QuantAcount implements java.io.Serializable {

	// Fields

	private Integer acountId;
	private String modelCode;
	private String secList;
	private Date startDate;
	private Date endDate;
	private Boolean runningStatus;
	private Integer backTestPeriod;
	private Boolean runNomally;
	private Integer runInterval;
	private String runCorn;
	private Boolean tradeAuto;
	private Boolean sendEmail;
	private Timestamp lastBackTest;

	// Constructors

	/** default constructor */
	public QuantAcount() {
	}

	/** minimal constructor */
	public QuantAcount(Integer acountId) {
		this.acountId = acountId;
	}

	/** full constructor */
	public QuantAcount(Integer acountId, String modelCode, String secList, Date startDate, Date endDate,
			Boolean runningStatus, Integer backTestPeriod, Boolean runNomally, Integer runInterval, String runCorn,
			Boolean tradeAuto, Boolean sendEmail,Timestamp lastBackTest) {
		this.acountId = acountId;
		this.modelCode = modelCode;
		this.secList = secList;
		this.startDate = startDate;
		this.endDate = endDate;
		this.runningStatus = runningStatus;
		this.backTestPeriod = backTestPeriod;
		this.runNomally = runNomally;
		this.runInterval = runInterval;
		this.runCorn = runCorn;
		this.tradeAuto = tradeAuto;
		this.sendEmail = sendEmail;
		this.lastBackTest = lastBackTest;
	}

	// Property accessors
	@Id
	@Column(name = "acount_id", unique = true, nullable = false)
	public Integer getAcountId() {
		return this.acountId;
	}

	public void setAcountId(Integer acountId) {
		this.acountId = acountId;
	}

	@Column(name = "model_code", length = 50)
	public String getModelCode() {
		return this.modelCode;
	}

	public void setModelCode(String modelCode) {
		this.modelCode = modelCode;
	}

	@Column(name = "secList", length = 500)
	public String getSecList() {
		return this.secList;
	}

	public void setSecList(String secList) {
		this.secList = secList;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "startDate", length = 10)
	public Date getStartDate() {
		return this.startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "endDate", length = 10)
	public Date getEndDate() {
		return this.endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	@Column(name = "runningStatus")
	public Boolean getRunningStatus() {
		return this.runningStatus;
	}

	public void setRunningStatus(Boolean runningStatus) {
		this.runningStatus = runningStatus;
	}

	@Column(name = "backTestPeriod")
	public Integer getBackTestPeriod() {
		return this.backTestPeriod;
	}

	public void setBackTestPeriod(Integer backTestPeriod) {
		this.backTestPeriod = backTestPeriod;
	}

	@Column(name = "runNomally")
	public Boolean getRunNomally() {
		return this.runNomally;
	}

	public void setRunNomally(Boolean runNomally) {
		this.runNomally = runNomally;
	}

	@Column(name = "runInterval")
	public Integer getRunInterval() {
		return this.runInterval;
	}

	public void setRunInterval(Integer runInterval) {
		this.runInterval = runInterval;
	}

	@Column(name = "runCorn", length = 50)
	public String getRunCorn() {
		return runCorn;
	}

	public void setRunCorn(String runCorn) {
		this.runCorn = runCorn;
	}

	@Column(name = "tradeAuto")
	public Boolean getTradeAuto() {
		return this.tradeAuto;
	}

	public void setTradeAuto(Boolean tradeAuto) {
		this.tradeAuto = tradeAuto;
	}

	@Column(name = "sendEmail")
	public Boolean getSendEmail() {
		return this.sendEmail;
	}

	public void setSendEmail(Boolean sendEmail) {
		this.sendEmail = sendEmail;
	}

	public Timestamp getLastBackTest() {
		return lastBackTest;
	}

	public void setLastBackTest(Timestamp lastBackTest) {
		this.lastBackTest = lastBackTest;
	}
	
}